package com.ynet.middleground.user.bean;

import javax.validation.constraints.NotBlank;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 创建E签宝个人账户请求对象
 * @date 2019-11-06 23:16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "创建E签宝个人账户请求对象", description = "创建E签宝个人账户请求对象")
public class CreateEsignPersonReq extends BaseReqObj {

    private static final long serialVersionUID = -4322951989650038874L;

    @ApiModelProperty(value = "用户ID", notes = "用户ID", dataType = "Integer", required = false)
    private Integer userId;

    @ApiModelProperty(value = "姓名", notes = "姓名", dataType = "String", required = true)
    @NotBlank(message = "姓名不能为空")
    private String name;

    @ApiModelProperty(value = "邮箱", notes = "邮箱", dataType = "String")
    private String email;

    @ApiModelProperty(value = "手机号", notes = "手机号用于接收签署验证码", dataType = "String")
    private String mobile;

    @ApiModelProperty(value = "证件号码", notes = "证件号码", dataType = "String", required = true)
    @NotBlank(message = "证件号码不能为空")
    private String idNo;

    @ApiModelProperty(value = "所属公司", notes = "所属公司", dataType = "String")
    private String organ;

    @ApiModelProperty(value = "职位", notes = "职位", dataType = "String")
    private String title;

    @ApiModelProperty(value = "住址", notes = "住址", dataType = "String")
    private String address;

    @ApiModelProperty(
        value = "个人归属地\nMAINLAND: 大陆身份证,\n" + "HONGKONG: 香港居民往来内地通行证,\n" + "MACAO: 澳门居民往来内地通行证,\n"
            + "TAIWAN: 台湾居民来往大陆通行证,\n" + "FOREIGN: 外籍,\n" + "PASSPORT: 护照,\n" + "SOLDIER_IDNO: 军人身份证,\n"
            + "SOCIAL_SECURITY_CARD: 社会保障卡,\n" + "ARMED_POLICE_ID: 武装警察身份证件,\n" + "RESIDENCE_BOOKLET: 户口簿,\n"
            + "TEMPORARY_IDNO: 临时居民身份证,\n" + "FOREIGNER_PERMANENT_RESIDENCE_PERMIT: 外国人永久居留证,\n" + "OTHER: 其他\n",
        notes = "个人归属地", dataType = "String")
    private String personArea;

    @ApiModelProperty(value = "国家", notes = "国家", dataType = "String")
    private String country;

    @ApiModelProperty(value = "省份", notes = "省份", dataType = "String")
    private String province;

    @ApiModelProperty(value = "城市", notes = "城市", dataType = "String")
    private String city;

    @ApiModelProperty(value = "部门", notes = "部门", dataType = "String")
    private String department;

}
